package com.power.sifa.statistics.api;

/**
 * @ClassName IApl_statisticFeign
 * @Author xiongzw
 * @Date 2023/11/3 9:06
 * @Description 首页统计接口类
 * @Version: 1.0
 **/

import com.plf.common.domain.ResponseDTO;
import com.plf.common.exception.BusinessException;
import com.power.sifa.statistics.model.pageInfo.StatisticsInfo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 首页统计接口
 */
public interface IApl_statisticFeign {

    /**
     * 首页统计-询登录人的待处理事件，按照流程环节分类
     */
    @PostMapping("/statistic/undoEvents")
    ResponseDTO queryUndoEvents(@RequestParam("userid") String userid) throws BusinessException;


    /**
     * 首页统计-统计行政行为的柱状图
     *
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countPrtypeList")
    ResponseDTO countPrtypeList(@RequestBody StatisticsInfo info) throws BusinessException;


    /**
     * 首页统计-统计决定类型
     *
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countDecisionType")
    ResponseDTO countDecisionType(@RequestBody StatisticsInfo info) throws BusinessException;

    /**
     * 首页统计-统计被申请人
     *
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countTargetTop")
    ResponseDTO countTargetTop(@RequestBody StatisticsInfo info) throws BusinessException;

    /**
     * 案件总数统计
     *
     * @param userid
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/queryCaseStatistics")
    ResponseDTO queryCaseStatistics(@RequestParam("userid") String userid) throws BusinessException;


    /**
     * 大屏统计-统计案件状态
     *
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countCaseStatus")
    ResponseDTO countCaseStatus(@RequestBody StatisticsInfo info) throws BusinessException;


    /**
     * 大屏统计--统计案件年度月度变化
     *
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countCaseChangeYear")
    ResponseDTO countCaseChangeYear(@RequestBody StatisticsInfo info) throws BusinessException;


    /**
     * 大屏统计--行政应诉案件统计
     *
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/CountRespondCase")
    ResponseDTO CountRespondCase() throws BusinessException;

    /**
     * 大屏统计-行政复议案件情况
     *
     * @param info
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/caseStatus")
    ResponseDTO caseStatus(@RequestBody StatisticsInfo info) throws BusinessException;

    /**
     * 大屏统计--（当年）复议情况案件统计
     *
     * @param info
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countFinish")
    ResponseDTO countFinish(@RequestBody StatisticsInfo info) throws BusinessException;

    /**
     * 大屏统计--2023年月度收案情况
     *
     * @param info
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countCaseReceptionStatus")
    ResponseDTO caseReceptionStatus(@RequestBody StatisticsInfo info) throws BusinessException;

    /**
     * 大屏统计--案件类型统计
     *
     * @param info
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countCaseType")
    ResponseDTO countCaseType(@RequestBody StatisticsInfo info) throws BusinessException;

    /**
     * 大屏统计--结案类型统计
     *
     * @param info
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countClosing")
    ResponseDTO countClosing(@RequestBody StatisticsInfo info) throws BusinessException;
    @PostMapping("/statistic/countClosingType")
    ResponseDTO countClosingType(@RequestBody StatisticsInfo info) throws BusinessException;

    /**
     * 大屏统计--收案数据统计
     *
     * @param info
     * @return
     * @throws BusinessException
     */
    @PostMapping("/statistic/countReceiptData")
    ResponseDTO countReceiptData(@RequestBody StatisticsInfo info) throws BusinessException;
}
